module;
#include<iostream>
export module a;
// export import :a1;

export int a();

class A{
    public:
    void hello();
};

export A m()
{
    return A{};
}

export template <typename T>
void h(T t);

export A get_a()
{
    return A{};
}

export void set_a(const A & a)
{

}

export template<typename T>
void hello();

template <typename T>
void hello(){
    std::cout<<"hello from A"<<std::endl;
}

export template<typename T>
void sayhello(T t){
    hello<T>();
}